Computer based systems such as pen based systems and "electronic whiteboards" (e.g. the LiveBoard.TM. available from LiveWorks a division of Xerox Corporation), provide graphical user interfaces based on utilization of an input device such as a pen, stylus or a cursor control device. In such systems the "display" shows a work space which acts as both a means for showing data and as an input medium. Graphic objects may be "drawn" on the display via pen strokes created using the input device. The graphic objects may represent words, figures or anything that can be displayed. Various operations can then be performed on the graphic objects using an input technique known as gestures. Gestures are themselves merely pen strokes which are interpreted as instructions. Sometimes, such systems will have a draw mode of operation and a gesture mode of operation to distinguish when a pen stroke creates a persistent graphic object or when the pen stroke is treated as a gesture.
To facilitate user interactions, the LiveBoard system provides the notion of structures. Various types of structures utilized by the LiveBoard system are described in EPA 0 667 567 A2, entitled "Apparatus and Method For Supporting the Implicit Structure of Freeform Lists, Outlines, Text, Tables, and Diagrams In A Gesture-Based Input System and Editing System", which is assigned to the same assignee of the present application. Conceptually a structure is a collection of graphic objects which have a particular relationship, e.g. a list of items written on the LiveBoard. When a structure operation occurs the relationship amongst the items is retained. For example, when an item is entered into the middle of a list, the items below the insertion point are moved down in order to make room for the inserted item.
As an electronic whiteboard is used, lists and other structures become clustered in distinct areas. This may be done consciously when the objects are created or by moving the graphic objects around with standard editing functions. Because of the close proximity in which objects and structures become positioned, problems can arise when the user wants an operation to affect only certain objects or structure.
A simple example is found in working with lists. To provide support for list operations such as reordering a list by moving an item to a different position in the list, the system must be able to compute the area containing the list. The list reordering operation will then only affect those objects in the area containing the list and leave objects in the other areas unchanged. However, when items and structures become closely clustered, it may be difficult to determine the area. Further, even if the area is correctly determined, performance of the operation may cause the list items to overwrite onto other objects.
One way to address this problem is to manually select the items, group them and move them to another location in the workspace. However, this is cumbersome and somewhat counterproductive.
Another technique for determining the area is described in the aforementioned EPA 0 667 567 A2, where a user drawn border line is used to limit the spatial extent of a selection operation. The border line is fixed at the place where it is drawn. So for example, if a border is put at the bottom of a list, selection of the list will terminate at the border. However, if items are added to the list, the border must be manually moved so that subsequent selections of the list will not be inhibited by the border. While useful for limiting the scope of selection operations, this could be burdensome when having to update lists.
Thus, it would be desirable to provide the user with a means to organize structures, graphical objects and space on the work surface in a simple and natural way that would also enable the system to easily determine the organization.
A related area to the present invention may include windowing systems, in particular windowing systems that provide for "tiled" windows. In a "tiled" windows system each window is always visible. This is contrasted with "overlap" window systems wherein windows may overlay one another. Microsoft Windows is an example of an overlay windows system. The Globalview system, designed for use on workstations available from the Xerox Corporation of Stamford, Conn., is an example of a system which provided a mode for a tiled windows system.